/**
 * 微信菜单编辑表单
 */
Ext.define('BenBen.modules.system.menu.MenuForm', {
    extend: 'Ext.form.Panel',
    border : false,
    bodyStyle : 'padding:5px',
    defaults : {
        margin: '5 5 5 5',
        anchor : '98%',
        labelWidth : 60,
        msgTarget :'side',
        labelAlign : 'right'
    },
    initComponent: function () {
    	Ext.define('Menu', {
    	     extend: 'Ext.data.Model',
    	     fields: [
    	         {name: 'name', type: 'string'},
    	         {name: 'id', type: 'int'}
    	     ]
    	 });

		 var menuStore = Ext.create('Ext.data.Store', {
			model : 'Menu',
			proxy : {
				type : 'ajax',
				url : 'system/menu/combo/4',
				reader : {
					type : 'json'
				}
			},
			autoLoad : true
		});

    	var agentId = Ext.create('Ext.form.ComboBox',{
    		name: 'agentId',
            fieldLabel: '应用编号',
            mode : 'local',
            editable : false,
            labelAlign : 'right',
            value : 1,
            triggerAction : 'all',
            displayField : 'name',
            valueField : 'name',
            store : new Ext.data.SimpleStore({
                fields : ['name'],
                data : [[1],[2],[3],[4],[5],[6],[7],[8],[9],[10]]
            }),
            listeners : {
    			select : function(combo, record, index) {
    				var url = 'system/menu/combo/'+combo.getValue();
    				menuStore.setProxy({
    					type : 'ajax',
    					url : url,
    					reader : {
    						type : 'json'
    					}
    				});  
    				
    				menuStore.load();  
    			}
    		}
    	});
    	
    	
    	var parent = Ext.create('Ext.form.ComboBox',{
    		name: 'parent',
            fieldLabel: '父菜单',
            mode : 'local',
            editable : false,
            labelAlign : 'right',
            value : '',
            triggerAction : 'all',
            displayField : 'name',
            valueField : 'id',
            store : menuStore
    	});
    	
    	var name = Ext.create('Ext.form.TextField',{
    		fieldLabel: '菜单名',
    		labelAlign : 'right',
    		allowBlank : false,
    		name : 'name'
    	});
    	
    	var type = Ext.create('Ext.form.ComboBox',{
    		name: 'type',
            fieldLabel: '类型',
            mode : 'local',
            editable : false,
            labelAlign : 'right',
            value : '',
            triggerAction : 'all',
            displayField : 'name',
            valueField : 'value',
            store : new Ext.data.SimpleStore({
                fields : ['value','name'],
                data : [['click','点击'],['view','网页'],['scancode_push','扫码推事件'],
                        ['scancode_waitmsg','扫码带提示'],['pic_sysphoto','系统拍照发图'],['pic_photo_or_album','拍照或者相册发图'],
                        ['pic_weixin','微信相册发图'],['location_select','发送位置']]
            })
    	});
    	var key = Ext.create('Ext.form.TextField',{
    		fieldLabel: 'KEY',
    		labelAlign : 'right',
    		name : 'key'
    	});
    	var url = Ext.create('Ext.form.TextField',{
    		fieldLabel: 'URL',
    		labelAlign : 'right',
    		name : 'url'
    	});
    	
		Ext.define('model.resource', {
            extend: 'Ext.data.Model',
            fields: [{
                name: 'id'
            },{
                name: 'agentId'
            },{
            	name: 'parent'
            },{
            	name: 'name'
            },{
            	name: 'type'
            },{
            	name: 'key'
            },{
            	name: 'url'
            },{
            	name: 'state'
            }]
        });
        Ext.apply(this,{
            border : false,
            layout : 'anchor',
            items :  [agentId,parent,name,type,key,url],
            reader :  Ext.create('Ext.data.JsonReader', {
                root : 'data',
                model : 'model.resource'
            })
        });

        this.callParent(arguments);
    }
});
